#pragma once
#ifndef TRIANGLE3D_H_
#define TRIANGLE3D_H_

//#include "Segment3d.h"
#include "Plane3d.h"

namespace Geometry
  {

  class Triangle3d
    {
    public:
      Triangle3d(const Point3d&, const Point3d&, const Point3d&);

      Plane3d GetPlane() const;

      bool ContainsPoint(const Point3d& i_point) const;

      Point3d GetPoint1() const;
      Point3d GetPoint2() const;
      Point3d GetPoint3() const;

      //Segment3d ProjectionLine3d(const Line3d&) const;

    private:
      Point3d m_point_1;
      Point3d m_point_2;
      Point3d m_point_3;

    };

  bool Triangle3dIntesect(const Triangle3d& i_left, const Triangle3d& i_right);


  }

#endif